Example #1
0
# Solve routine
from nonvarFEM import solveProblem

# Auxiliary stuff
import nonvarFEM.helpers as hlp

if __name__ == "__main__":

    # Load standard options
    global_opt = hlp.standardOptions()

    P = FNS_5_4_L_inf_Coeffs()
    global_opt["id"] = "FNS_5_4"

    global_opt["NdofsThreshold"] = 30000
    # Fix polynomial degree
    global_opt["p"] = 2
    global_opt["q"] = 2
    global_opt["plotMesh"] = 1
    global_opt["saveMesh"] = 1
    global_opt["plotSolution"] = 1
    global_opt["saveSolution"] = 1
    global_opt["meshRefinement"] = 2
    global_opt["refinementThreshold"] = .90
    global_opt["writeToCsv"] = 0

    # Determine method to estimate error norms
    global_opt["errorEstimationMethod"] = 1
    df = solveProblem(P, hlp.opt_Own_CG_0_stab(global_opt))
    """
    Global settings
    """
    global_opt = hlp.standardOptions()
    P = HJB.HJB_H_alpha(alpha=1.3)
    p = 2
    global_opt["id"] = "HJB_HalphaSol_deg_{}".format(p)

    # Threshold for dofs
    global_opt["NdofsThreshold"] = 30000
    # global_opt["NdofsThreshold"]   = 3000
    global_opt["initialMeshResolution"] = 2
    global_opt["gmresTolRes"] = 1e-7

    # Fix polynomial degree
    global_opt["p"] = p
    global_opt["q"] = p

    # Determine method to estimate error norms
    global_opt["errorEstimationMethod"] = 1

    # Specify experiments method
    experiment(P, hlp.opt_Own_CG_0_stab(global_opt), 'CG_0_stab')

    # experiment(P,
    #         hlp.opt_NeilanSalgadoZhang(global_opt),
    #         'NSZ_stab2')
    # experiment(P,
    #         opt_Own_CG_1_stab(global_opt),
    #             'CG_0_stab')
Example #3
0
    # Do not write detailed output of each run
    # within solveProblem.py
    global_opt["writeToCsv"] = 0

    minDegree = 1

    # Choose maximal degree of polynomials
    maxDegree = 4

    Neilan = degreeStudy(P, hlp.opt_Neilan(global_opt), minDegree, maxDegree,
                         'Neilan')

    NSZ = degreeStudy(P, hlp.opt_NeilanSalgadoZhang(global_opt), minDegree,
                      maxDegree, 'NeilanSalgadoZhang')

    cg0stab = degreeStudy(P, hlp.opt_Own_CG_0_stab(global_opt), minDegree,
                          maxDegree, 'cg0stab')

    cg1stab = degreeStudy(P, hlp.opt_Own_CG_1_stab(global_opt), minDegree,
                          maxDegree, 'cg1stab')

    cg2stab = degreeStudy(P, hlp.opt_Own_CG_2_stab(global_opt), minDegree,
                          maxDegree, 'cg2stab')

    dg0stab = degreeStudy(P, hlp.opt_Own_DG_0_stab(global_opt), minDegree,
                          maxDegree, 'dg0stab')

    dg1stab = degreeStudy(P, hlp.opt_Own_DG_1_stab(global_opt), minDegree,
                          maxDegree, 'dg1stab')

    # Set up one large dataframe to store relevant output
    """
    Global settings
    """
    global_opt = hlp.standardOptions()

    P = HJB.Example_1()
    
    p = 2
    global_opt["id"] = "HJB_1_{}".format(p)


    # Threshold for dofs
    global_opt["NdofsThreshold"]   = 30000
    global_opt["gmresTolRes"] = 1e-8
    
    # Fix polynomial degree
    global_opt["p"] = p
    global_opt["q"] = p
    
    # Determine method to estimate error norms
    global_opt["errorEstimationMethod"] = 1
    
    # Specify experiments method
    experiment(P,
            hlp.opt_Own_CG_0_stab(global_opt),
            'CG_0_stab')
    # experiment(P,
    #         opt_Own_CG_1_stab(global_opt),
    #             'CG_0_stab')