A method comprising the following steps executed by a computer processor: a) receiving an oral profile including teeth and gingiva spatial information of a patient; b) generating an initial mold profile from the oral profile, wherein the initial mold profile includes numerical representations of the teeth and gingiva spatial information of the patient; c) assigning a plurality of tooth control points and a plurality of gingiva control points to the initial mold profile, wherein: the plurality of gingiva control points are assigned to surfaces of walls of gingiva of the initial mold profile, and a first portion of the plurality of tooth control points is disposed on a first tooth of the initial mold profile, d) identifying a first force field vector for a first gingiva control point based on a movement of a neighboring control point in a first group of neighboring gingiva and tooth control points; wherein the first gingiva control point is a member of the plurality of gingiva control points; e) repeating step d) to identify remaining force field vectors for the first gingiva control point based on movements of remaining control points in the first group of neighboring gingiva and tooth control points; f) repeating steps d) and e) for remaining gingiva control points in the plurality of gingiva control points; g) receiving tooth control points movements for the plurality of tooth control points, wherein a distance between any tooth control point in the first portion of the plurality of tooth control points and everyone other tooth control point in the first portion of the plurality of tooth control points remains unchanged; h) performing finite element analysis to calculate the movements of the plurality of gingiva control points in response to the received tooth control points movements; and i) generating a new mold profile. a) receiving an oral profile including teeth and gingiva spatial information of a patient; b) generating an initial mold profile from the oral profile, wherein the initial mold profile includes numerical representations of the teeth and gingiva spatial information of the patient; c) assigning a plurality of tooth control points and a plurality of gingiva control points to the initial mold profile, wherein: the plurality of gingiva control points are assigned to surfaces of walls of gingiva of the initial mold profile, and a first portion of the plurality of tooth control points is disposed on a first tooth of the initial mold profile, the plurality of gingiva control points are assigned to surfaces of walls of gingiva of the initial mold profile, and a first portion of the plurality of tooth control points is disposed on a first tooth of the initial mold profile, d) identifying a first force field vector for a first gingiva control point based on a movement of a neighboring control point in a first group of neighboring gingiva and tooth control points; wherein the first gingiva control point is a member of the plurality of gingiva control points; e) repeating step d) to identify remaining force field vectors for the first gingiva control point based on movements of remaining control points in the first group of neighboring gingiva and tooth control points; f) repeating steps d) and e) for remaining gingiva control points in the plurality of gingiva control points; g) receiving tooth control points movements for the plurality of tooth control points, wherein a distance between any tooth control point in the first portion of the plurality of tooth control points and everyone other tooth control point in the first portion of the plurality of tooth control points remains unchanged; h) performing finite element analysis to calculate the movements of the plurality of gingiva control points in response to the received tooth control points movements; and i) generating a new mold profile.