SheafSystem  0.0.0.0
fields::field_t3 Class Reference

A property of type sec_t3 as a function of global coordinates. More...

#include <field_t3.h>

Inheritance diagram for fields::field_t3:
fields::field_tp fields::field_vd sheaf::any fields::field_t3_e3

FIELD_VD FACET OF CLASS FIELD_T3

typedef sec_t3 property_section_type
 Typedefs: More...
 
typedef sec_ed coordinates_section_type
 The coordinates section type. More...
 
 field_t3 ()
 Default constructor. More...
 
 field_t3 (const field_t3 &xother, bool xauto_access)
 Copy constructor. More...
 
 field_t3 (const sec_ed &xcoordinates, const sec_t3 &xproperty, bool xauto_access)
 Create an instance with coordinates xcoordinates and property xproperty. More...
 
 field_t3 (namespace_poset &xns, const poset_path &xcoordinates_path, const poset_path &xproperty_path, bool xauto_access)
 Create an instance with coordinates specified by xcoordinates_path and property specified by xproperty_path in name space xns. More...
 
virtual field_t3operator= (const field_vd &xother)
 Assignment operator. More...
 
field_t3operator= (const field_t3 &xother)
 Assignment operator. More...
 
field_t3operator= (const sec_t3 &xsection)
 Assignment operator. More...
 
field_t3operator= (const t3 &xfiber)
 Assignment operator. More...
 
field_t3operator= (const t3_lite &xfiber)
 Assignment operator. More...
 
virtual ~field_t3 ()
 Destructor. More...
 
sec_t3property () const
 The dependent variable of this field. More...
 
bool same_property_fiber_schema (const field_t3 &xother, bool xauto_access) const
 True if this has the same property fiber as xother. More...
 
 field_t3 (sec_t3 *xproperty, sec_ed_invertible *xcoordinates, base_space_member *xbase_space)
 Covariant constructor. More...
 

ANY FACET OF CLASS FIELD_T3

virtual const std::string & class_name () const
 The name of this class. More...
 
virtual bool is_ancestor_of (const any *xother) const
 Conformance test; true if xother conforms to this. More...
 
virtual field_t3clone () const
 Virtual constructor, makes a new instance of the same type as this. More...
 
virtual bool invariant () const
 Class invariant. More...
 
static const std::string & static_class_name ()
 The name of this class. More...
 

Additional Inherited Members

- Public Types inherited from fields::field_tp
typedef sec_tp property_section_type
 Typedefs: More...
 
typedef sec_ed coordinates_section_type
 The coordinates section type. More...
 
- Public Types inherited from fields::field_vd
typedef void(* property_dof_function_type) (block< sec_vd_value_type > &xglobal_coords, block< sec_vd_dof_type > &xproperty_dofs)
 The type of the function for computing the property dofs at given global coordinates. More...
 
- Public Member Functions inherited from fields::field_tp
 field_tp ()
 Default constructor. More...
 
 field_tp (const field_tp &xother, bool xauto_access)
 Copy constructor. More...
 
 field_tp (const sec_ed &xcoordinates, const sec_tp &xproperty, bool xauto_access)
 Create an instance with coordinates xcoordinates and property xproperty. More...
 
 field_tp (namespace_poset &xns, const poset_path &xcoordinates_path, const poset_path &xproperty_path, bool xauto_access)
 Create an instance with coordinates specified by xcoordinates_path and property specified by xproperty_path in name space xns. More...
 
field_tpoperator= (const field_tp &xother)
 Assignment operator. More...
 
field_tpoperator= (const sec_tp &xsection)
 Assignment operator. More...
 
field_tpoperator= (const tp &xfiber)
 Assignment operator. More...
 
field_tpoperator= (const tp_lite &xfiber)
 Assignment operator. More...
 
virtual ~field_tp ()
 Destructor. More...
 
sec_tpproperty () const
 The dependent variable of this field. More...
 
bool same_property_fiber_schema (const field_tp &xother, bool xauto_access) const
 True if this has the same property fiber as xother. More...
 
- Public Member Functions inherited from fields::field_vd
 field_vd ()
 Default constructor. More...
 
 field_vd (const field_vd &xother, bool xauto_access)
 Copy constructor. More...
 
 field_vd (const sec_ed &xcoordinates, const sec_vd &xproperty, bool xauto_access)
 Create an instance with coordinates xcoordinates and property xproperty. More...
 
 field_vd (namespace_poset &xns, const poset_path &xcoordinates_path, const poset_path &xproperty_path, bool xauto_access)
 Create an instance with coordinates specified by xcoordinates_path and property specified by xproperty_path in name space xns. More...
 
virtual ~field_vd ()
 Destructor. More...
 
int dc () const
 The dimension of the coordinates (independent variable) space. More...
 
int dp () const
 The dimension of the property (dependent variable) space. More...
 
int db () const
 The dimension of the base space. More...
 
namespace_posetname_space () const
 The namespace this resides in. More...
 
sec_ed_invertiblecoordinates () const
 The independent variable of this field. More...
 
sec_vdproperty () const
 The dependent variable of this field. More...
 
base_space_memberbase_space () const
 The base space of this field. More...
 
property_disc_iteratornew_property_disc_iterator () const
 Iterator over property discretiation. More...
 
void put_property_dofs (property_dof_function_type xproperty_dofs_fcn, bool xauto_access)
 Sets the dofs of property() to values computed by xproperty_dofs_fcn. More...
 
void put_property_dofs (put_property_dofs_action &xproperty_dofs_action, bool xauto_access)
 OBSOLETE: Use put_proeprty_dofs(property_dof_function_type, bool). Sets the dofs of property() to values computed by xproperty_dofs_action. More...
 
void print_property_dofs (std::ostream &xos, property_dof_function_type xproperty_dofs_fcn, const std::string &xtitle_text, bool xzero_specified, bool xauto_access) const
 Prints the property dofs and coordinates at the property discretization points. If xproperty_dof_fcn != 0, prints the result of xproperty_dofs_fcn at each discretization point and the difference with the actual property dofs. If xzero_specified, assume the result of xproperty_dofs_fcn is zero wherever property is zero. Intended to be useful for debugging. More...
 
bool same_property_fiber_schema (const field_vd &xother, bool xauto_access) const
 True if this has the same property fiber as xother. More...
 
bool same_evaluation () const
 True if the coordinates and property sections both use the same evaluation subposet. More...
 
bool same_discretization () const
 True if the coordinates and property sections both use the same discretization subposet. More...
 
void property_at_coordinates (const vd_lite &xcoord, vd_lite &xprop) const
 The value of the property at the given global coordinates. More...
 
void property_at_coordinates (const block< sec_vd_value_type > &xcoord, block< sec_vd_value_type > &xprop) const
 The value of the property at the given global coordinates. More...
 
void property_at_coordinates (sec_vd_value_type xcoord_base[], int xcoord_ct, sec_vd_value_type xprop_base[], int xprop_ub) const
 The value of the property at the given global coordinates. More...
 
subposetembed_property (const std::string &xresult_name, name_multimap &xresult_member_names, bool xauto_access)
 Creates a decomposition of the base space such that the value of property() is constant on each member. More...
 
virtual bool is_attached () const
 True if this handle has a state associated with it. More...
 
bool state_is_read_only_accessible () const
 True if this is attached and if the coordinates and property are accessible for read access but not for write. False is access control is disabled. More...
 
bool state_is_not_read_only_accessible () const
 True if this is attached and if the coordinates and property are not accessible for read only access or access control is disabled. More...
 
bool state_is_read_accessible () const
 True if this is attached and if the coordinates and property are accessible for read or access control is disabled. More...
 
bool state_is_not_read_accessible () const
 True if this is attached and if the coordinates and property are not accessible for read or access control is disabled. More...
 
bool state_is_read_write_accessible (bool xbase_access=false) const
 True if this is attached and if coordinates(), property() and (if xbase access) base_space() are accessible for read and write or access control is disabled. More...
 
bool state_is_not_read_write_accessible (bool xbase_access=false) const
 True if this is not attached or if coordinates(), property() or (if xbase access) base_space() are not accessible for read and write or access control is disabled. More...
 
int access_request_depth () const
 The number of times access has been requested and granted without being released. More...
 
virtual void get_read_access () const
 Get read access to the state associated with this. More...
 
virtual void get_read_write_access (bool xbase_access, bool xrelease_read_only_access)
 Get read write access to the coordinates and property sections, which implies read access to the base space. If xbase_access, get read write access to the base space as well. If release_read_only_access is requested, read only access will be released then read_write_access will be requested, finally the same level of read_access as before will be requested. More...
 
virtual void release_access (bool xall=false) const
 Release access. If xall is true, release all levels of access. Otherwise, release one level of access. More...
 
bool state_is_modified () const
 True if write access has been granted and released since the last call to clear_state_is_modified(). More...
 
void clear_state_is_modified ()
 Sets the state_is_modified floag to false. More...
 
field_vdoperator= (const sec_vd &xsection)
 Assignment operator. More...
 
field_vdoperator= (const vd &xfiber)
 Assignment operator. More...
 
field_vdoperator= (const vd_lite &xfiber)
 Assignment operator. More...
 
- Public Member Functions inherited from sheaf::any
bool is_same_type (const any *other) const
 True if other is the same type as this. More...
 
virtual ~any ()
 Destructor. More...
 
bool invariant_check () const
 True if invariant checking is enabled. More...
 
void enable_invariant_check () const
 Enable invariant checking. More...
 
void disable_invariant_check () const
 Disable invariant check. Intended for preventing recursive calls to invariant and for suppressing invariant checking during multi-phase initialization. More...
 
int disable_invariance_check_request_depth () const
 Number of times disable_invariant_check has been called without matching call to enable_invariant_check. More...
 
- Static Public Member Functions inherited from fields::field_tp
static const std::string & static_class_name ()
 The name of this class. More...
 
- Static Public Member Functions inherited from fields::field_vd
static void property_dof_function_example (block< sec_vd_value_type > &xglobal_coords, block< sec_vd_dof_type > &xproperty_dofs)
 Example property dof function; property value is x*1000000 + y*1000 + z, intended to be easy to check field dofs for correctness. More...
 
static void put_property_dofs (const sec_vd &xcoordinates, sec_vd &xproperty, property_dof_function_type xproperty_dofs_fcn, bool xauto_access)
 Sets the dofs of xproperty to values computed by xproperty_dofs_fcn using xcoordinates to compute the coordinates at the discretization points. More...
 
static void put_property_dofs (const sec_vd &xcoordinates, sec_vd &xproperty, put_property_dofs_action &xproperty_dofs_action, bool xauto_access)
 Sets the dofs of xproperty to values computed by xproperty_dofs_fcn using xcoordinates to compute the coordinates at the discretization points. More...
 
static void delete_field_spaces (field_vd *xfield, bool xdelete_coord_fiber, bool xdelete_prop_fiber)
 Deletes field xfield and all associated section spaces, section schema spaces, and base space, if they are no longer being used. If xdelete_coord_fiber delete the coordinate fiber space, if it is no longer beinbg used, and similarly for xdelete_prop_fiber. More...
 
static bool access_control_disabled ()
 True if access control mechanism is disabled. Default value is enabled (false) and access is controlled by the per-thread access control functions. Disabled (true) is equivalent to having read-write access at all times, irrespective of any access control requests. Synonym for read_write_monitor::access_control_disabled(). More...
 
static void enable_access_control ()
 Enables access control. Synonym for read_write_monitor::enable_access_control(). Should only be invoked once at beginning of a program, before any other SheafSystem calls. Once enabled, access control can not be disabled. More...
 
static const std::string & static_class_name ()
 The name of this class. More...
 
- Protected Member Functions inherited from fields::field_tp
 field_tp (sec_tp *xproperty, sec_ed_invertible *xcoordinates, base_space_member *xbase_space)
 Covariant constructor. More...
 
- Protected Member Functions inherited from fields::field_vd
 field_vd (sec_vd *xproperty, sec_ed_invertible *xcoordinates, base_space_member *xbase_space)
 Covariant constructor. More...
 
- Protected Member Functions inherited from sheaf::any
 any ()
 default constructor More...
 
- Protected Attributes inherited from fields::field_vd
sec_vd_property
 The dependent variable of this field. More...
 
sec_ed_invertible_coordinates
 The independent variable of this field. More...
 
base_space_member_base_space
 The base space of this field. More...
 

Detailed Description

A property of type sec_t3 as a function of global coordinates.

Definition at line 50 of file field_t3.h.

Member Typedef Documentation

◆ coordinates_section_type

The coordinates section type.

Definition at line 67 of file field_t3.h.

◆ property_section_type

Typedefs:

The property section type.

Definition at line 62 of file field_t3.h.

Constructor & Destructor Documentation

◆ field_t3() [1/5]

fields::field_t3::field_t3 ( )

Default constructor.

Postcondition
  • !is_attached()

Definition at line 41 of file field_t3.cc.

References invariant(), and fields::field_vd::is_attached().

Referenced by clone(), and field_t3().

◆ field_t3() [2/5]

fields::field_t3::field_t3 ( const field_t3 xother,
bool  xauto_access 
)

Copy constructor.

Precondition
  • xauto_access || !xother.is_attached() || \ xother.state_is_read_accessible()
Postcondition

Definition at line 60 of file field_t3.cc.

References fields::field_vd::_base_space, fields::field_vd::_coordinates, fields::field_vd::_property, sheaf::abstract_poset_member::attach_to_state(), fields::field_vd::base_space(), fields::field_vd::coordinates(), field_t3(), invariant(), fields::field_vd::is_attached(), and property().

◆ field_t3() [3/5]

fields::field_t3::field_t3 ( const sec_ed xcoordinates,
const sec_t3 xproperty,
bool  xauto_access 
)

Create an instance with coordinates xcoordinates and property xproperty.

Precondition
  • xcoordinates.is_attached()
  • xproperty.is_attached()
  • xauto_access || xcoordinates.state_is_read_accessible()
  • xauto_access || xproperty.state_is_read_accessible()
Postcondition

Definition at line 88 of file field_t3.cc.

References fields::field_vd::_base_space, fields::field_vd::_coordinates, fields::field_vd::_property, sheaf::abstract_poset_member::attach_to_state(), fiber_bundle::section_space_schema_member::base_space(), fields::field_vd::coordinates(), field_t3(), sheaf::poset_component::get_read_access(), invariant(), sheaf::poset_component::is_attached(), property(), sheaf::poset_component::release_access(), fiber_bundle::sec_rep_space_member::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ field_t3() [4/5]

fields::field_t3::field_t3 ( namespace_poset xns,
const poset_path xcoordinates_path,
const poset_path xproperty_path,
bool  xauto_access 
)

Create an instance with coordinates specified by xcoordinates_path and property specified by xproperty_path in name space xns.

Precondition
  • xauto_access || xns.state_is_read_accessible()
  • xns.contains_poset_member(xcoordinates_path)
  • xns.contains_poset_member(xproperty_path)
Postcondition

Definition at line 129 of file field_t3.cc.

References fields::field_vd::_base_space, fields::field_vd::_coordinates, fields::field_vd::_property, sheaf::abstract_poset_member::attach_to_state(), fiber_bundle::section_space_schema_member::base_space(), sheaf::namespace_poset::contains_poset_member(), fields::field_vd::coordinates(), field_t3(), sheaf::poset_component::get_read_access(), sheaf::namespace_poset::get_read_access(), invariant(), sheaf::namespace_poset::member_poset(), property(), sheaf::poset_component::release_access(), sheaf::namespace_poset::release_access(), fiber_bundle::sec_rep_space_member::schema(), and sheaf::read_write_monitor_handle::state_is_read_accessible().

◆ ~field_t3()

fields::field_t3::~field_t3 ( )
virtual

Destructor.

Definition at line 313 of file field_t3.cc.

References property().

Referenced by operator=().

◆ field_t3() [5/5]

fields::field_t3::field_t3 ( sec_t3 xproperty,
sec_ed_invertible xcoordinates,
base_space_member xbase_space 
)
protected

Covariant constructor.

Definition at line 183 of file field_t3.cc.

References operator=().

Member Function Documentation

◆ class_name()

const std::string & fields::field_t3::class_name ( ) const
virtual

The name of this class.

Postcondition
  • !result.empty()

Reimplemented from fields::field_tp.

Reimplemented in fields::field_t3_e3.

Definition at line 387 of file field_t3.cc.

References static_class_name().

Referenced by same_property_fiber_schema().

◆ clone()

fields::field_t3 * fields::field_t3::clone ( ) const
virtual

Virtual constructor, makes a new instance of the same type as this.

Postcondition
  • result != 0
  • is_same_type(result)

Reimplemented from fields::field_tp.

Reimplemented in fields::field_t3_e3.

Definition at line 448 of file field_t3.cc.

References field_t3(), invariant(), and sheaf::any::is_same_type().

Referenced by is_ancestor_of().

◆ invariant()

◆ is_ancestor_of()

bool fields::field_t3::is_ancestor_of ( const any xother) const
virtual

Conformance test; true if xother conforms to this.

Precondition
  • xother != 0

Reimplemented from fields::field_tp.

Reimplemented in fields::field_t3_e3.

Definition at line 427 of file field_t3.cc.

References clone().

Referenced by static_class_name().

◆ operator=() [1/5]

fields::field_t3 & fields::field_t3::operator= ( const field_vd xother)
virtual

Assignment operator.

Precondition
  • precondition_of(field_vd::operator=(xother))
Postcondition
  • postcondition_of(field_vd::operator=(xother))

Reimplemented from fields::field_tp.

Reimplemented in fields::field_t3_e3.

Definition at line 201 of file field_t3.cc.

References fields::field_vd::operator=().

Referenced by field_t3(), and operator=().

◆ operator=() [2/5]

fields::field_t3 & fields::field_t3::operator= ( const field_t3 xother)

Assignment operator.

Precondition
  • precondition_of(field_vd::operator=(xother))
Postcondition
  • postcondition_of(field_vd::operator=(xother))

Definition at line 223 of file field_t3.cc.

References operator=(), and fields::field_vd::operator=().

◆ operator=() [3/5]

fields::field_t3 & fields::field_t3::operator= ( const sec_t3 xsection)

Assignment operator.

Precondition
  • precondition_of(field_vd::operator=(xsection))
Postcondition
  • postcondition_of(field_vd::operator=(xsection))

Definition at line 245 of file field_t3.cc.

References operator=(), and fields::field_vd::operator=().

◆ operator=() [4/5]

fields::field_t3 & fields::field_t3::operator= ( const t3 xfiber)

Assignment operator.

Precondition
  • precondition_of(field_vd::operator=(xfiber))
Postcondition
  • postcondition_of(field_vd::operator=(xfiber))

Definition at line 268 of file field_t3.cc.

References operator=(), and fields::field_vd::operator=().

◆ operator=() [5/5]

fields::field_t3 & fields::field_t3::operator= ( const t3_lite xfiber)

Assignment operator.

Precondition
  • precondition_of(field_vd::operator=(xfiber))
Postcondition
  • postcondition_of(field_vd::operator=(xfiber))

Definition at line 291 of file field_t3.cc.

References fields::field_vd::operator=(), and ~field_t3().

◆ property()

fiber_bundle::sec_t3 & fields::field_t3::property ( ) const

The dependent variable of this field.

Definition at line 329 of file field_t3.cc.

References same_property_fiber_schema().

Referenced by field_t3(), invariant(), same_property_fiber_schema(), and ~field_t3().

◆ same_property_fiber_schema()

bool fields::field_t3::same_property_fiber_schema ( const field_t3 xother,
bool  xauto_access 
) const

◆ static_class_name()

const std::string & fields::field_t3::static_class_name ( )
static

The name of this class.

Postcondition
  • !result.empty()

Definition at line 407 of file field_t3.cc.

References is_ancestor_of().

Referenced by class_name().


The documentation for this class was generated from the following files: